package com.dora.mega.data.transfer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dora.mega.data.transfer.domain.ActResultLog;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 实际结果日志服务
 *
 * @author Clarence
 * @date 2024/04/04
 */
public interface IActResultLogService extends IService<ActResultLog> {

    /**
     * 一次性导出百万数据
     *
     * @param response 响应
     * @throws IOException ioexception
     */
    void exportExcel(HttpServletResponse response) throws IOException;


    /**
     * 读取Excel，分页读取实现
     *
     * @param response 响应
     * @throws IOException          ioexception
     * @throws InterruptedException 中断异常
     */
    void exportExcel1(HttpServletResponse response) throws IOException, InterruptedException;
    /**
     * 多线程读取数据，随后写入多个sheet
     *
     * @param response 响应
     * @throws IOException ioexception
     */
    void exportExcel2(HttpServletResponse response) throws IOException, InterruptedException;

    /**
     * 多线程读取数据，随后写入多个sheet
     *
     * @param response 响应
     * @throws IOException ioexception
     */
    void exportExcel3(HttpServletResponse response) throws IOException, InterruptedException;

    /**
     * 导入excel1
     *
     * @param multipartFile 多部分文件
     */
    void importExcel(MultipartFile multipartFile) throws IOException;

    /**
     * 异步导出Excel
     *
     * @param multipartFile 多部分文件
     * @throws IOException ioexception
     */
    void importExcel1(MultipartFile multipartFile) throws IOException;

}
